#!/usr/bin/python3
# _*_ coding: utf-8 _*_
#
# Copyright (C) 2024 - 2024 heihieyouheihei, Inc. All Rights Reserved 
#
# @Time    : 2024/8/23 22:27
# @Author  : Yuyun
# @File    : leetcode_242_有效字母异位词.py
# @IDE     : PyCharm

"""
给定两个字符串 s 和 t ，编写一个函数来判断 t 是否是 s 的字母异位词。
注意：若 s 和 t 中每个字符出现的次数都相同，则称 s 和 t 互为字母异位词。

示例 1:
输入: s = "anagram", t = "nagaram"
输出: true

示例 2:
输入: s = "rat", t = "car"
输出: false

提示:
1 <= s.length, t.length <= 5 * 10^4
s 和 t 仅包含小写字母

进阶: 如果输入字符串包含 unicode 字符怎么办？你能否调整你的解法来应对这种情况？

"""

from collections import defaultdict
class Solution:
    #默认字典（hash表）方法
    def allogram_words(self, s, t) -> bool:
        #创建两个默认值为0的字典
        hash_s, hash_t = defaultdict(int), defaultdict(int)
        for x in s:
            hash_s[x] += 1
        for y in t:
            hash_t[y] += 1
        # #比S中字符种类更多，返回False
        # if len(hash_t) > len(hash_s):
        #     return False
        # else:
        #     for i in hash_t.keys():
        #         #存在同一个字母，两个字符串出现次数不同，即返回False
        #         if hash_t[i] != hash_s[i]:
        #             return False
        #     return True

        #直接判断两个字典是否相等
        return hash_s == hash_t

if __name__ == '__main__':
    solution = Solution()
    s = input()
    t = input()
    print(solution.allogram_words(s, t))
